package main

import (
	"fmt"
	"os"
)

func main() {

	//fp, err := os.Create("F:/A.txt")
	//if err != nil {
	//	fmt.Println("文件创建失败")
	//	return
	//}
	////关闭文件流
	//defer fp.Close()
	//fmt.Println("文件创建成功")

	/*
	   TODO:打开文件
	   Open:是以只读权限打开
	   OpenFile:是以读写权限打开
	*/

	f1, err := os.OpenFile("F:/A.txt", os.O_RDWR, 6)
	if err != nil {
		fmt.Println("打开文件失败")
	} else {
		f1.WriteString("hhh")
	}
	defer f1.Close()

	//创建文件
	//f, err := os.Create("F:/test.txt")
	//f, err := os.OpenFile("F:/test.txt", os.O_RDWR|os.O_CREATE, 0666)
	f, err := os.OpenFile("F:/test.txt", os.O_CREATE, 0666)
	if err != nil {
		fmt.Println("创建文件失败")
		return
	}
	//关闭文件流
	defer f.Close()
	//TODO:同一个文件对象，不能采用多种写入方式（会出现乱码）
	//写入[]byte类型的信息到文件中
	//f.Write([]byte("hello world\r\n"))
	//将[]byte类型的数据写入到文件的指定位置
	f.WriteAt([]byte("嘿嘿嘿\r\n"), 5)
	//写入string类型的数据到文件
	//f.WriteString("嘻嘻嘻")

}
